knitr::opts_chunk$set(echo = TRUE)

cmdstanr::set_cmdstan_path(path = "C:/Users/kueng/.cmdstan/cmdstan-2.35.0")

library(tidyverse)
library(R.utils)
library(wbCorr)
library(readxl)
library(kableExtra)
library(brms)
library(bayesplot)
library(see)
library(beepr)
library(DHARMa)
library(digest)



source(file.path('Functions', 'ReportModels.R'))
source(file.path('Functions', 'PrettyTables.R'))
source(file.path('Functions', 'ReportMeasures.R'))
source(file.path('Functions', 'PrepareData.R'))

report_function_hash <- digest::digest(summarize_brms)
system("shutdown /a")
## [1] 1116
# Set options for analysis
use_mi = FALSE
shutdown = FALSE
report_ordinal = FALSE
report_hurdle = TRUE
do_priorsense = FALSE

options(
  dplyr.print_max = 100, 
  brms.backend = 'cmdstan',
  brms.file_refit = ifelse(use_mi, 'never', 'on_change'),
  brms.file_refit = 'on_change',
  #brms.file_refit = 'always',
  error = function() {
    beepr::beep(sound = 5)
    if (shutdown) {
      system("shutdown /s /t 180")
      quit(save = "no", status = 1)
    }
  }
  , es.use_symbols = TRUE
)


####################### Model parameters #######################

iterations = 2000 # 10'000 per chain to achieve 40'000
warmup = 1000

# NO AR!!!
#corstr = 'ar'
#corstr = 'cosy_couple'
#corstr = 'cosy_couple:user'


################################################################

suffix = as.character(iterations)
df <- openxlsx::read.xlsx(file.path('long.xlsx'))
df_original <- df

df_double <- prepare_data(df, recode_pushing = TRUE, use_mi = use_mi)[[1]]

Constructing scales Re-coding pusing reshaping data (4field) centering data within and between

summary(df_double$pushing)

Min. 1st Qu. Median Mean 3rd Qu. Max. NA’s 0.0000 0.0000 0.0000 0.1635 0.0000 5.0000 241

Modelling

# For indistinguishable Dyads
model_rows_fixed <- c(
    'Intercept', 
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
    
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions'
  )


model_rows_fixed_ordinal <- c(
  model_rows_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed[2:length(model_rows_fixed)]
)

model_rows_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_ordinal <- c(model_rows_random,'disc')
# For indistinguishable Dyads
model_rownames_fixed <- c(
    "Intercept", 
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",
    
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime",
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3'
  )


model_rownames_fixed_ordinal <- c(
  model_rownames_fixed[1],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed[2:length(model_rownames_fixed)]
)

model_rownames_random <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_ordinal <- c(model_rownames_random,'disc')
rows_to_pack <- list(
  "Within-Person Effects" = c(2,14),
  "Between-Person Effects" = c(15,25),
  "Random Effects" = c(26, 32), 
  "Additional Parameters" = c(33,33)
  )


rows_to_pack_ordinal <- list(
  "Intercepts" = c(1,6),
  "Within-Person Effects" = c(2+5,14+5),
  "Between-Person Effects" = c(15+5,25+5),
  "Random Effects" = c(26+5, 32+5), 
  "Additional Parameters" = c(33+5,33+6)
  )

HURDLE MODELS

# For indistinguishable Dyads
model_rows_fixed_hu <- c(
    'Intercept', 
    'hu_Intercept',
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'persuasion_self_cw', 
    'persuasion_partner_cw', 
    'pressure_self_cw', 
    'pressure_partner_cw', 
    'pushing_self_cw', 
    'pushing_partner_cw', 
    'day', 
    'weartime_self_cw',
    
    'support_self_cw',
    'support_partner_cw',
    'isWeekendWeekend',
    'got_JITAI_selfJITAIreceived',
    'skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'persuasion_self_cb',
    'persuasion_partner_cb',
    'pressure_self_cb',
    'pressure_partner_cb',
    'pushing_self_cb',
    'pushing_partner_cb',
    'weartime_self_cb',
    
    'support_self_cb',
    'support_partner_cb',
    'studyGroupFirst3weeksinterventions',
    'studyGrouplast3weeksinterventions',
    
    # HURDLE MODEL
    # '-- WITHIN PERSON MAIN EFFECTS --', 
    'hu_persuasion_self_cw', 
    'hu_persuasion_partner_cw', 
    'hu_pressure_self_cw', 
    'hu_pressure_partner_cw', 
    'hu_pushing_self_cw', 
    'hu_pushing_partner_cw', 
    'hu_day', 
    'hu_weartime_self_cw',
    
    'hu_support_self_cw',
    'hu_support_partner_cw',
    'hu_isWeekendWeekend',
    'hu_got_JITAI_selfJITAIreceived',
    'hu_skilled_supportDaysafterIntervention',
    
    # '-- BETWEEN PERSON MAIN EFFECTS',
    'hu_persuasion_self_cb',
    'hu_persuasion_partner_cb',
    'hu_pressure_self_cb',
    'hu_pressure_partner_cb',
    'hu_pushing_self_cb',
    'hu_pushing_partner_cb',
    'hu_weartime_self_cb',
    
    'hu_support_self_cb',
    'hu_support_partner_cb',
    'hu_studyGroupFirst3weeksinterventions',
    'hu_studyGrouplast3weeksinterventions'
    
  )

model_rows_fixed_hu_ordinal <- c(
  model_rows_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rows_fixed_hu[3:length(model_rows_fixed_hu)]
)


model_rows_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(hu_Intercept)',
  'sd(persuasion_self_cw)',
  'sd(persuasion_partner_cw)',
  'sd(pressure_self_cw)',
  'sd(pressure_partner_cw)',
  'sd(pushing_self_cw)',
  'sd(pushing_partner_cw)',
  # HURDLE
  'sd(hu_persuasion_self_cw)',
  'sd(hu_persuasion_partner_cw)',
  'sd(hu_pressure_self_cw)',
  'sd(hu_pressure_partner_cw)',
  'sd(hu_pushing_self_cw)',
  'sd(hu_pushing_partner_cw)',
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rows_random_hu_ordinal <- c(model_rows_random_hu,'disc')
# For indistinguishable Dyads
model_rownames_fixed_hu <- c(
    "Intercept", 
    "Hurdle Intercept",
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Daily persuasion experienced", 
    "Daily persuasion utilized (partner's view)", # OR partner received
    "Daily pressure experienced", 
    "Daily pressure utilized (partner's view)", 
    "Daily pushing experienced", 
    "Daily pushing utilized (partner's view)", 
    "Day", 
    "Daily weartime",
    
    'Daily support received',
    "Daily support provided (partner's view)",
    'Is a Weekend',
    'JITAI received',
    'Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Mean persuasion experienced", 
    "Mean persuasion utilized (partner's view)", 
    "Mean pressure experienced", 
    "Mean pressure utilized (partner's view)", 
    "Mean pushing experienced", 
    "Mean pushing utilized (partner's view)", 
    "Mean weartime", 
    
    'Mean support received',
    "Mean support provided (partner's view)",
    'Difference study group 2',
    'Difference study group 3',
    
    # HURDLE
    # "-- WITHIN PERSON MAIN EFFECTS --", 
    "Hu Daily persuasion experienced", 
    "Hu Daily persuasion utilized (partner's view)", # OR partner received
    "Hu Daily pressure experienced", 
    "Hu Daily pressure utilized (partner's view)", 
    "Hu Daily pushing experienced", 
    "Hu Daily pushing utilized (partner's view)", 
    "Hu Day", 
    "Hu Daily weartime",
    
    'Hu Daily support received',
    "Hu Daily support provided (partner's view)",
    'Hu Is a Weekend',
    'Hu JITAI received',
    'Hu Days post skilled support intervention',
    
    # "-- BETWEEN PERSON MAIN EFFECTS",
    "Hu Mean persuasion experienced", 
    "Hu Mean persuasion utilized (partner's view)", 
    "Hu Mean pressure experienced", 
    "Hu Mean pressure utilized (partner's view)", 
    "Hu Mean pushing experienced", 
    "Hu Mean pushing utilized (partner's view)", 
    "Hu Mean weartime",
    
    'Hu Mean support received',
    "Hu Mean support provided (partner's view)",
    'Hu Difference study group 2',
    'Hu Difference study group 3'
  )



model_rownames_fixed_hu_ordinal <- c(
  model_rownames_fixed_hu[1:2],
  'Intercept[1]',
  'Intercept[2]',
  'Intercept[3]',
  'Intercept[4]',
  'Intercept[5]',
  model_rownames_fixed_hu[3:length(model_rownames_fixed_hu)]
)



model_rownames_random_hu <- c(
  # '--------------',
  # '-- RANDOM EFFECTS --',
  'sd(Intercept)', 
  'sd(Hurdle Intercept)', 
  "sd(Daily persuasion experienced)", 
  "sd(Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Daily pressure experienced)", 
  "sd(Daily pressure utilized (partner's view))", 
  "sd(Daily pushing experienced)", 
  "sd(Daily pushing utilized (partner's view))", 
  
  # Hurdle
  "sd(Hu Daily persuasion experienced)", 
  "sd(Hu Daily persuasion utilized (partner's view))", # OR partner received
  "sd(Hu Daily pressure experienced)", 
  "sd(Hu Daily pressure utilized (partner's view))", 
  "sd(Hu Daily pushing experienced)", 
  "sd(Hu Daily pushing utilized (partner's view))", 
  # '-- CORRELATION STRUCTURE -- ', 
  'sigma'
)

model_rownames_random_hu_ordinal <- c(model_rownames_random_hu,'disc')
rows_to_pack_hu <- list(
  "Conditional Within-Person Effects" = c(3,15),
  "Conditional Between-Person Effects" = c(16,26),
  
  "Hurdle Within-Person Effects" = c(27,39),
  "Hurdle Between-Person Effects" = c(40,50),
  
  "Random Effects" = c(51, 64), 
  "Additional Parameters" = c(65,65)
  )

rows_to_pack_hu_ordinal <- list(
  "Conditional Within-Person Effects" = c(3+5,15+5),
  "Conditional Between-Person Effects" = c(16+5,26+5),
  
  "Hurdle Within-Person Effects" = c(27+5,39+5),
  "Hurdle Between-Person Effects" = c(40+5,50+5),
  
  "Random Effects" = c(51+5, 64+5), 
  "Additional Parameters" = c(65+5,65+6)
  )

Self-Reported MVPA

Hurdle Lognormal Model

formula <- bf(
  pa_sub ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID),
  
  hu = ~ persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (1 + persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
) 

prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "b", dpar = "hu")
  , brms::set_prior("normal(0, 50)", class = "Intercept") # for non-zero PA
  , brms::set_prior("normal(0.5, 2.5)", class = "Intercept", dpar = 'hu') # hurdle part
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = hurdle_lognormal()
#)

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_sub <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::hurdle_lognormal(), 
  #family = brms::hurdle_negbinomial(), 
  #family = brms::hurdle_poisson(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 42,
  file = file.path("models_cache_brms", paste0("pa_sub_hu_lognormal_othercov_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
pa_sub_digest <- digest::digest(pa_sub)
# summarize with rope range for hurdle part
summary_pa_sub_hurdle <- summarize_brms(
  pa_sub, 
  stats_to_report = c('pd','ROPE'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("pd", "ROPE"), rope_range
## = c(-0.18, : Coefficients were exponentiated. Double check if this was
## intended.
# rope range for continuous part of the model
rope_factor <- sd(log(pa_sub$data$pa_sub[pa_sub$data$pa_sub > 0]))
rope_range_continuous = c(-0.1 * rope_factor, 0.1 * rope_factor)

summary_pa_sub_continuous <- summarize_brms(
  pa_sub, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_continuous,
  model_rows_fixed = model_rows_fixed_hu,
  model_rows_random = model_rows_random_hu,
  model_rownames_fixed = model_rownames_fixed_hu,
  model_rownames_random = model_rownames_random_hu,
  exponentiate = T) 
## Warning in summarize_brms(pa_sub, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
# Replace only the ROPE and % in Rope columns for rows with 'Hu'
summary_pa_sub <- summary_pa_sub_continuous

columns_to_replace <- c("ROPE", "inside ROPE")

summary_pa_sub[grepl('Hu', rownames(summary_pa_sub)), columns_to_replace] <- 
  summary_pa_sub_hurdle[grepl('Hu', rownames(summary_pa_sub_hurdle)), columns_to_replace]

# Print the updated dataframe
summary_pa_sub %>%
  print_df(rows_to_pack = rows_to_pack_hu)
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 32.48*** 3.38 [26.30, 39.85] 1.000 [0.92, 1.08] 0.000 1.008 745 1434
Hurdle Intercept 0.24*** 0.06 [ 0.15, 0.40] 1.000 [0.84, 1.20] 0.000 1.004 760 1516
Conditional Within-Person Effects
Daily persuasion experienced 1.03 0.03 [ 0.97, 1.08] 0.840 [0.92, 1.08] 0.971 1.001 1373 2154
Daily persuasion utilized (partner’s view) 1.03 0.02 [ 0.98, 1.08] 0.892 [0.92, 1.08] 0.983 1.001 1912 2401
Daily pressure experienced 0.91 0.04 [ 0.82, 1.00] 0.974 [0.92, 1.08] 0.363 1.000 2811 2591
Daily pressure utilized (partner’s view) 0.94 0.04 [ 0.85, 1.03] 0.910 [0.92, 1.08] 0.655 1.001 2821 2387
Daily pushing experienced 0.99 0.03 [ 0.92, 1.05] 0.663 [0.92, 1.08] 0.967 1.001 2290 2918
Daily pushing utilized (partner’s view) 0.97 0.03 [ 0.91, 1.03] 0.858 [0.92, 1.08] 0.944 1.001 3172 2544
Day 0.95 0.08 [ 0.80, 1.12] 0.747 [0.92, 1.08] 0.553 1.001 2714 2466
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 1.19*** 0.04 [ 1.11, 1.28] 1.000 [0.92, 1.08] 0.002 1.000 4671 3064
JITAI received 0.94 0.05 [ 0.85, 1.04] 0.889 [0.92, 1.08] 0.625 1.000 4360 2984
Days post skilled support intervention 1.07 0.07 [ 0.94, 1.20] 0.856 [0.92, 1.08] 0.568 1.000 2680 2584
Conditional Between-Person Effects
Mean persuasion experienced 1.06 0.16 [ 0.77, 1.44] 0.655 [0.92, 1.08] 0.365 1.006 759 1372
Mean persuasion utilized (partner’s view) 1.01 0.15 [ 0.74, 1.36] 0.529 [0.92, 1.08] 0.394 1.006 724 1299
Mean pressure experienced 1.17 0.20 [ 0.82, 1.64] 0.801 [0.92, 1.08] 0.240 1.002 1154 2050
Mean pressure utilized (partner’s view) 0.93 0.17 [ 0.65, 1.32] 0.656 [0.92, 1.08] 0.305 1.002 1120 2136
Mean pushing experienced 1.13 0.27 [ 0.72, 1.78] 0.711 [0.92, 1.08] 0.225 1.011 928 1803
Mean pushing utilized (partner’s view) 1.21 0.29 [ 0.75, 1.94] 0.790 [0.92, 1.08] 0.184 1.011 933 1601
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 1.08 0.14 [ 0.83, 1.42] 0.720 [0.92, 1.08] 0.390 1.009 710 1390
Difference study group 3 1.23 0.16 [ 0.95, 1.59] 0.951 [0.92, 1.08] 0.133 1.008 786 1403
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.59*** 0.11 [ 1.40, 1.84] 1.000 [0.84, 1.20] 0.000 0.999 2277 2374
Hu Daily persuasion utilized (partner’s view) 1.34*** 0.09 [ 1.18, 1.53] 1.000 [0.84, 1.20] 0.037 1.001 2637 2846
Hu Daily pressure experienced 0.97 0.15 [ 0.70, 1.33] 0.578 [0.84, 1.20] 0.752 1.002 3073 2665
Hu Daily pressure utilized (partner’s view) 1.50* 0.30 [ 1.04, 2.27] 0.987 [0.84, 1.20] 0.122 1.001 3137 2448
Hu Daily pushing experienced 0.95 0.14 [ 0.72, 1.30] 0.645 [0.84, 1.20] 0.734 1.000 2131 2441
Hu Daily pushing utilized (partner’s view) 1.33** 0.15 [ 1.09, 1.69] 0.998 [0.84, 1.20] 0.173 1.001 3130 2400
Hu Day 0.75 0.15 [ 0.51, 1.12] 0.923 [0.84, 1.20] 0.286 1.000 2728 2857
Hu Daily weartime NA NA NA NA NA NA NA NA NA
Hu Daily support received NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Hu Is a Weekend 1.52*** 0.15 [ 1.26, 1.85] 1.000 [0.84, 1.20] 0.007 1.001 4440 2628
Hu JITAI received 0.50*** 0.06 [ 0.39, 0.64] 1.000 [0.84, 1.20] 0.000 1.000 4423 3163
Hu Days post skilled support intervention 1.27 0.19 [ 0.94, 1.70] 0.945 [0.84, 1.20] 0.360 1.001 2494 2971
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.42 0.50 [ 0.68, 2.85] 0.836 [0.84, 1.20] 0.242 1.013 704 1609
Hu Mean persuasion utilized (partner’s view) 1.33 0.48 [ 0.64, 2.63] 0.781 [0.84, 1.20] 0.284 1.010 729 1332
Hu Mean pressure experienced 0.39* 0.17 [ 0.17, 0.88] 0.987 [0.84, 1.20] 0.028 1.005 1181 2142
Hu Mean pressure utilized (partner’s view) 0.52 0.21 [ 0.23, 1.15] 0.943 [0.84, 1.20] 0.104 1.007 1254 2428
Hu Mean pushing experienced 1.21 0.63 [ 0.41, 3.50] 0.632 [0.84, 1.20] 0.240 1.005 1328 1992
Hu Mean pushing utilized (partner’s view) 2.11 1.16 [ 0.70, 6.27] 0.911 [0.84, 1.20] 0.102 1.003 1135 1939
Hu Mean weartime NA NA NA NA NA NA NA NA NA
Hu Mean support received NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 0.76 0.23 [ 0.42, 1.43] 0.809 [0.84, 1.20] 0.314 1.004 713 1098
Hu Difference study group 3 1.02 0.33 [ 0.57, 1.98] 0.533 [0.84, 1.20] 0.428 1.002 791 1401
Random Effects
sd(Intercept) 0.30 0.04 [0.22, 0.40] NA NA NA 1.003 1060 1655
sd(Hurdle Intercept) 0.76 0.11 [0.58, 1.02] NA NA NA 1.001 1051 1730
sd(Daily persuasion experienced) 0.12 0.02 [0.08, 0.17] NA NA NA 1.000 1809 2520
sd(Daily persuasion utilized (partner’s view)) 0.08 0.02 [0.05, 0.13] NA NA NA 1.002 2571 2838
sd(Daily pressure experienced) 0.06 0.05 [0.00, 0.21] NA NA NA 1.000 1516 1994
sd(Daily pressure utilized (partner’s view)) 0.05 0.04 [0.00, 0.17] NA NA NA 1.003 1779 1970
sd(Daily pushing experienced) 0.08 0.04 [0.01, 0.16] NA NA NA 1.002 1378 1312
sd(Daily pushing utilized (partner’s view)) 0.06 0.04 [0.00, 0.14] NA NA NA 1.004 1060 1041
sd(Hu Daily persuasion experienced) 0.20 0.09 [0.03, 0.39] NA NA NA 1.001 927 917
sd(Hu Daily persuasion utilized (partner’s view)) 0.19 0.09 [0.03, 0.38] NA NA NA 1.005 1100 1195
sd(Hu Daily pressure experienced) 0.19 0.17 [0.01, 0.72] NA NA NA 1.007 1279 1177
sd(Hu Daily pressure utilized (partner’s view)) 0.24 0.21 [0.01, 0.90] NA NA NA 1.001 1507 1634
sd(Hu Daily pushing experienced) 0.57 0.16 [0.31, 0.96] NA NA NA 1.001 1785 2584
sd(Hu Daily pushing utilized (partner’s view)) 0.24 0.15 [0.01, 0.56] NA NA NA 1.003 1224 1006
Additional Parameters
sigma 0.67 0.01 [0.65, 0.70] NA NA NA 1.001 4538 2734
# Plot continuous part of model

variable <- c(
  '(Intercept)',
  'b_persuasion_self_cw',
  'b_persuasion_partner_cw',
  'b_pressure_self_cw',
  'b_pressure_partner_cw',
  'b_pushing_self_cw',
  'b_pushing_partner_cw'
)


plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(
    pa_sub, 
    parameter = variable, 
    range = rope_range_continuous,
    verbose = F,
    ci = 1
  )
) + theme_bw()

# Hurdle part of the model
variable <- c(
  'b_hu_persuasion_self_cw',
  'b_hu_persuasion_partner_cw',
  'b_hu_pressure_self_cw',
  'b_hu_pressure_partner_cw',
  'b_hu_pushing_self_cw',
  'b_hu_pushing_partner_cw'
)

plot(
  bayestestR::p_direction(pa_sub, parameter = variable),
  priors = TRUE
) + theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length

# The rope range for the bernoulli part of the model is -0.18, 0.18
plot(
  bayestestR::rope(pa_sub, parameter = variable, range = c(-0.18, 0.18), ci = 1),
  verbose = FALSE
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.77), b_hu_persuasion_partner_cb and
##   b_hu_persuasion_self_cb (r = 0.73). This might lead to inappropriate
##   results. See 'Details' in '?rope'.

Device Based MVPA

Lognormal Model

formula <- bf(
  pa_obj ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day +  + weartime_self_cw + weartime_self_cb +
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 50)", class = "Intercept") 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = lognormal()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

pa_obj_log <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = lognormal(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("pa_obj_log_gaussian_othercov_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
pa_obj_log_digest <- digest::digest(pa_obj_log)
# rope range for lognormal model
rope_factor <- sd(log(pa_obj_log$data$pa_obj))
rope_range_log = c(-0.1 * rope_factor, 0.1 * rope_factor)

summarize_brms(
  pa_obj_log, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = rope_range_log,
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
## Warning in summarize_brms(pa_obj_log, stats_to_report = c("CI", "SE", "pd", :
## Coefficients were exponentiated. Double check if this was intended.
exp(Est.) SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 111.51*** 10.02 [93.04, 133.26] 1.000 [0.94, 1.07] 0.000 1.004 1221 1706
Within-Person Effects
Daily persuasion experienced 1.03 0.02 [ 1.00, 1.06] 0.959 [0.94, 1.07] 0.997 1.001 4064 3282
Daily persuasion utilized (partner’s view) 1.02 0.02 [ 0.98, 1.05] 0.841 [0.94, 1.07] 0.999 1.000 5032 3491
Daily pressure experienced 0.95 0.03 [ 0.89, 1.02] 0.927 [0.94, 1.07] 0.655 1.000 7347 3456
Daily pressure utilized (partner’s view) 0.98 0.03 [ 0.92, 1.05] 0.733 [0.94, 1.07] 0.901 1.000 7748 3204
Daily pushing experienced 1.02 0.03 [ 0.97, 1.07] 0.727 [0.94, 1.07] 0.971 1.001 4931 2921
Daily pushing utilized (partner’s view) 1.01 0.02 [ 0.97, 1.05] 0.591 [0.94, 1.07] 0.996 1.001 6976 3163
Day 0.94 0.05 [ 0.85, 1.03] 0.902 [0.94, 1.07] 0.514 1.003 6700 2769
Daily weartime 1.00*** 0.00 [ 1.00, 1.00] 1.000 [0.94, 1.07] 1.000 1.000 3667 2296
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 1.06** 0.02 [ 1.02, 1.11] 0.997 [0.94, 1.07] 0.527 1.001 9842 2558
JITAI received 0.93* 0.03 [ 0.88, 0.99] 0.989 [0.94, 1.07] 0.419 1.001 10127 3527
Days post skilled support intervention 1.05 0.04 [ 0.98, 1.13] 0.914 [0.94, 1.07] 0.657 1.000 5728 3177
Between-Person Effects
Mean persuasion experienced 1.09 0.16 [ 0.80, 1.45] 0.724 [0.94, 1.07] 0.295 1.000 1221 2116
Mean persuasion utilized (partner’s view) 0.96 0.14 [ 0.71, 1.28] 0.607 [0.94, 1.07] 0.341 1.001 1202 2015
Mean pressure experienced 1.00 0.15 [ 0.75, 1.36] 0.514 [0.94, 1.07] 0.328 1.000 1679 2371
Mean pressure utilized (partner’s view) 1.00 0.15 [ 0.75, 1.32] 0.507 [0.94, 1.07] 0.350 1.000 1603 2486
Mean pushing experienced 0.96 0.20 [ 0.64, 1.48] 0.578 [0.94, 1.07] 0.230 1.000 1564 2593
Mean pushing utilized (partner’s view) 1.24 0.26 [ 0.81, 1.92] 0.850 [0.94, 1.07] 0.148 1.001 1599 2394
Mean weartime 1.00 0.00 [ 1.00, 1.00] 0.945 [0.94, 1.07] 1.000 1.002 6323 3408
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 0.92 0.11 [ 0.71, 1.19] 0.756 [0.94, 1.07] 0.316 1.002 1217 1827
Difference study group 3 1.02 0.13 [ 0.79, 1.33] 0.571 [0.94, 1.07] 0.374 1.002 1172 2045
Random Effects
sd(Intercept) 0.30 0.04 [0.24, 0.40] NA NA NA 1.000 1478 2093
sd(Daily persuasion experienced) 0.05 0.01 [0.02, 0.08] NA NA NA 1.001 2377 1828
sd(Daily persuasion utilized (partner’s view)) 0.05 0.02 [0.03, 0.09] NA NA NA 1.002 2280 2595
sd(Daily pressure experienced) 0.04 0.03 [0.00, 0.14] NA NA NA 1.000 2603 2605
sd(Daily pressure utilized (partner’s view)) 0.03 0.03 [0.00, 0.11] NA NA NA 1.001 2431 2094
sd(Daily pushing experienced) 0.08 0.04 [0.01, 0.15] NA NA NA 1.002 1364 2221
sd(Daily pushing utilized (partner’s view)) 0.03 0.02 [0.00, 0.08] NA NA NA 1.000 2074 2149
Additional Parameters
sigma 0.57 0.01 [0.56, 0.59] NA NA NA 1.002 8249 2463
plot(
  bayestestR::p_direction(pa_obj_log),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(pa_obj_log, range = rope_range_log, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_persuasion_partner_cb and
##   b_persuasion_self_cb (r = 0.89), b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.75), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.74), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.72), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.78), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.84). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

# Nothing significant, no plots

Affect

Gaussian

formula <- bf(
  aff ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 5)", class = "b")
  ,brms::set_prior("normal(0, 20)", class = "Intercept", lb=1, ub=6)
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
  , brms::set_prior("student_t(3, 0, 2.5)", class = "sigma", lb = 0)
)

#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = gaussian()
#  )

#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

mood_gauss <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = gaussian(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("mood_gauss_othercov_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
mood_gauss_digest <- digest::digest(mood_gauss)
summarize_brms(
  mood_gauss, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = F) %>%
  print_df(rows_to_pack = rows_to_pack)
Est. SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 3.56*** 0.16 [ 3.24, 3.88] 1.000 [-0.11, 0.11] 0.000 1.010 659 1435
Within-Person Effects
Daily persuasion experienced 0.00 0.02 [-0.04, 0.04] 0.508 [-0.11, 0.11] 1.000 1.001 3818 2904
Daily persuasion utilized (partner’s view) 0.02 0.02 [-0.03, 0.06] 0.764 [-0.11, 0.11] 1.000 1.001 3256 3306
Daily pressure experienced -0.03 0.05 [-0.15, 0.07] 0.712 [-0.11, 0.11] 0.927 1.000 3897 2926
Daily pressure utilized (partner’s view) -0.02 0.05 [-0.14, 0.09] 0.667 [-0.11, 0.11] 0.929 1.001 3659 2832
Daily pushing experienced 0.00 0.03 [-0.06, 0.07] 0.558 [-0.11, 0.11] 0.999 0.999 4574 3124
Daily pushing utilized (partner’s view) 0.07 0.03 [ 0.00, 0.13] 0.971 [-0.11, 0.11] 0.930 1.000 4261 2919
Day 0.24** 0.08 [ 0.10, 0.39] 0.999 [-0.11, 0.11] 0.048 1.001 3563 3440
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 0.15*** 0.04 [ 0.08, 0.22] 1.000 [-0.11, 0.11] 0.151 1.001 6886 3061
JITAI received -0.10* 0.05 [-0.19, -0.01] 0.983 [-0.11, 0.11] 0.623 1.001 5803 3255
Days post skilled support intervention 0.04 0.06 [-0.07, 0.15] 0.750 [-0.11, 0.11] 0.894 1.001 3651 3384
Between-Person Effects
Mean persuasion experienced 0.37 0.25 [-0.15, 0.88] 0.922 [-0.11, 0.11] 0.131 1.010 627 1140
Mean persuasion utilized (partner’s view) 0.24 0.26 [-0.26, 0.77] 0.837 [-0.11, 0.11] 0.226 1.012 569 1088
Mean pressure experienced -0.26 0.26 [-0.75, 0.26] 0.846 [-0.11, 0.11] 0.216 1.012 691 1390
Mean pressure utilized (partner’s view) -0.26 0.26 [-0.76, 0.25] 0.839 [-0.11, 0.11] 0.207 1.012 604 1292
Mean pushing experienced 0.12 0.38 [-0.68, 0.89] 0.624 [-0.11, 0.11] 0.228 1.002 845 1475
Mean pushing utilized (partner’s view) 0.27 0.37 [-0.51, 1.03] 0.769 [-0.11, 0.11] 0.180 1.004 908 1308
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 -0.22 0.23 [-0.67, 0.26] 0.835 [-0.11, 0.11] 0.245 1.005 591 981
Difference study group 3 0.36 0.23 [-0.12, 0.82] 0.938 [-0.11, 0.11] 0.122 1.009 631 1010
Random Effects
sd(Intercept) 0.56 0.07 [0.44, 0.75] NA NA NA 1.002 867 1565
sd(Daily persuasion experienced) 0.04 0.03 [0.00, 0.10] NA NA NA 1.002 1253 1265
sd(Daily persuasion utilized (partner’s view)) 0.07 0.03 [0.01, 0.13] NA NA NA 1.002 1200 1137
sd(Daily pressure experienced) 0.07 0.06 [0.00, 0.24] NA NA NA 1.002 1586 1883
sd(Daily pressure utilized (partner’s view)) 0.08 0.07 [0.00, 0.27] NA NA NA 1.001 1531 1915
sd(Daily pushing experienced) 0.04 0.04 [0.00, 0.13] NA NA NA 1.000 1611 2128
sd(Daily pushing utilized (partner’s view)) 0.06 0.04 [0.00, 0.16] NA NA NA 1.001 1557 2171
Additional Parameters
sigma 0.96 0.01 [0.94, 0.98] NA NA NA 1.000 6888 2860
plot(
  bayestestR::p_direction(mood_gauss),
  priors = TRUE
)  + 
  coord_cartesian(xlim = c(-3, 3)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(mood_gauss, ci = 1)
) + theme_bw()
## Possible multicollinearity between b_pressure_self_cb and
##   b_persuasion_self_cb (r = 0.8), b_pressure_partner_cb and
##   b_persuasion_self_cb (r = 0.78), b_pressure_self_cb and
##   b_persuasion_partner_cb (r = 0.78), b_pressure_partner_cb and
##   b_persuasion_partner_cb (r = 0.81), b_pressure_partner_cb and
##   b_pressure_self_cb (r = 0.74), b_pushing_partner_cb and
##   b_pushing_self_cb (r = 0.89). This might lead to inappropriate results.
##   See 'Details' in '?rope'.

conditional_spaghetti(
  mood_gauss, 
  effects = c('pushing_partner_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

$pushing_partner_cw

Reactance

Ordinal

df_double$reactance_ordinal <- factor(df_double$reactance,
                                      levels = 0:5, 
                                      ordered = TRUE)

formula <- bf(
  reactance_ordinal ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
)


prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = cumulative() # HURDLE_CUMULATIVE
#  )


#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

reactance_ordinal <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::cumulative(),
  #control = list(adapt_delta = 0.95),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777
  , file = file.path("models_cache_brms", paste0("reactance_ordinal_othercov_", suffix))
)
## Warning: Rows containing NAs were excluded from the model.
reactance_ordinal_digest <- digest::digest(reactance_ordinal)
summarize_brms(
  reactance_ordinal, 
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  rope_range = c(-0.18, 0.18),
  model_rows_fixed = model_rows_fixed_ordinal,
  model_rows_random = model_rows_random_ordinal,
  model_rownames_fixed = model_rownames_fixed_ordinal,
  model_rownames_random = model_rownames_random_ordinal,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack_ordinal)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercepts
Intercept NA NA NA NA NA NA NA NA NA
Intercept[1] 2.22* 0.88 [ 1.07, 4.94] 0.983 [0.84, 1.20] 0.047 1.002 2959 3095
Intercept[2] 4.83*** 1.90 [ 2.31, 10.96] 1.000 [0.84, 1.20] 0.000 1.001 3083 2895
Intercept[3] 13.63*** 5.69 [ 6.16, 31.17] 1.000 [0.84, 1.20] 0.000 1.001 3316 3584
Intercept[4] 59.66*** 27.39 [ 25.01, 150.16] 1.000 [0.84, 1.20] 0.000 1.001 3637 3349
Intercept[5] 2074.62*** 1476.56 [581.83, 8679.97] 1.000 [0.84, 1.20] 0.000 1.000 4587 2810
Within-Person Effects
Daily persuasion experienced 0.85* 0.07 [ 0.72, 1.00] 0.976 [0.84, 1.20] 0.598 1.001 3425 2760
Daily persuasion utilized (partner’s view) 1.02 0.10 [ 0.83, 1.23] 0.584 [0.84, 1.20] 0.926 1.000 3373 2965
Daily pressure experienced 1.83* 0.35 [ 1.18, 2.63] 0.994 [0.84, 1.20] 0.028 1.002 2414 2677
Daily pressure utilized (partner’s view) 1.27 0.30 [ 0.70, 2.08] 0.823 [0.84, 1.20] 0.343 1.002 2596 2123
Daily pushing experienced 1.25 0.14 [ 1.00, 1.56] 0.975 [0.84, 1.20] 0.358 1.001 3077 2826
Daily pushing utilized (partner’s view) 0.94 0.11 [ 0.73, 1.21] 0.699 [0.84, 1.20] 0.797 1.000 3668 2919
Day 1.66 0.74 [ 0.68, 4.13] 0.870 [0.84, 1.20] 0.165 1.000 3342 2859
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 0.64* 0.13 [ 0.43, 0.95] 0.989 [0.84, 1.20] 0.097 1.004 5050 3182
JITAI received 1.29 0.33 [ 0.76, 2.18] 0.837 [0.84, 1.20] 0.342 0.999 4602 3163
Days post skilled support intervention 0.81 0.27 [ 0.41, 1.60] 0.741 [0.84, 1.20] 0.335 1.000 3634 3159
Between-Person Effects
Mean persuasion experienced 0.96 0.46 [ 0.37, 2.56] 0.536 [0.84, 1.20] 0.297 1.002 2045 2804
Mean persuasion utilized (partner’s view) 1.28 0.68 [ 0.46, 3.79] 0.674 [0.84, 1.20] 0.242 1.004 2069 2510
Mean pressure experienced 3.56* 1.84 [ 1.29, 10.00] 0.993 [0.84, 1.20] 0.014 1.001 2307 2802
Mean pressure utilized (partner’s view) 1.24 0.66 [ 0.42, 3.59] 0.662 [0.84, 1.20] 0.235 1.003 2091 2514
Mean pushing experienced 1.56 1.08 [ 0.39, 6.49] 0.739 [0.84, 1.20] 0.161 1.001 2109 2712
Mean pushing utilized (partner’s view) 0.10** 0.08 [ 0.02, 0.53] 0.998 [0.84, 1.20] 0.004 1.003 2966 2849
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 1.14 0.43 [ 0.51, 2.47] 0.636 [0.84, 1.20] 0.342 1.000 2345 2452
Difference study group 3 0.38* 0.16 [ 0.16, 0.88] 0.988 [0.84, 1.20] 0.032 1.001 2347 2630
Random Effects
sd(Intercept) 0.65 0.22 [0.21, 1.14] NA NA NA 1.002 926 560
sd(Daily persuasion experienced) 0.17 0.13 [0.01, 0.44] NA NA NA 1.002 904 1382
sd(Daily persuasion utilized (partner’s view)) 0.21 0.14 [0.01, 0.52] NA NA NA 1.006 1080 1387
sd(Daily pressure experienced) 0.56 0.25 [0.10, 1.16] NA NA NA 1.004 1232 1226
sd(Daily pressure utilized (partner’s view)) 0.40 0.38 [0.02, 1.47] NA NA NA 1.002 1204 2121
sd(Daily pushing experienced) 0.22 0.14 [0.01, 0.53] NA NA NA 1.001 1221 1622
sd(Daily pushing utilized (partner’s view)) 0.15 0.14 [0.01, 0.60] NA NA NA 1.003 1730 2383
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
disc 1.00 0.00 [1.00, 1.00] NA NA NA NA NA NA
plot(
  bayestestR::p_direction(reactance_ordinal),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(reactance_ordinal, range = c(-0.18, 0.18), ci = 1)
) + theme_bw()
## Possible multicollinearity between b_Intercept[4] and b_Intercept[2] (r
##   = 0.86), b_pressure_self_cb and b_persuasion_self_cb (r = 0.7),
##   b_pressure_partner_cb and b_persuasion_partner_cb (r = 0.8). This might
##   lead to inappropriate results. See 'Details' in '?rope'.

conditional_spaghetti(
  reactance_ordinal, 
  effects = c('persuasion_self_cw', 'pressure_self_cw')
  , group_var = 'coupleID'
  #, n_groups = 15
  , plot_full_range = T
)

\(persuasion_self_cw <img src="04_SensitivityOtherCovariates_files/figure-html/report_reactance_ordinal-3.png" width="2400" />\)pressure_self_cw

Binary

introduce_binary_reactance <- function(data) {
  data$is_reactance <- factor(data$reactance > 0, levels = c(FALSE, TRUE), labels = c(0, 1))
  return(data)
}



df_double <- introduce_binary_reactance(df_double)
if (use_mi) {
  for (i in seq_along(implist)) {
    implist[[i]] <- introduce_binary_reactance(implist[[i]])
  }
}


formula <- bf(
  is_reactance ~ 
    persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw +
    
    #support_self_cw + support_partner_cw + 
    plan +
    isWeekend + 
    got_JITAI_self + 
    skilled_support +
    
    persuasion_self_cb + persuasion_partner_cb +
    pressure_self_cb + pressure_partner_cb +
    pushing_self_cb + pushing_partner_cb +
    
    #support_self_cb + support_partner_cb + 
    studyGroup +
    
    day + 
    
    # Random effects
    (persuasion_self_cw + persuasion_partner_cw +
    pressure_self_cw + pressure_partner_cw +
    pushing_self_cw + pushing_partner_cw | coupleID)
  #, autocor = autocor_str
  )



prior1 <- c(
  brms::set_prior("normal(0, 2.5)", class = "b")
  , brms::set_prior("normal(0, 10)", class = "Intercept", lb=0, ub=5) 
  , brms::set_prior("normal(0, 2)", class = "sd", group = "coupleID", lb = 0)
)


#brms::validate_prior(
#  prior1, 
#  formula = formula, 
#  data = df_double, 
#  family = bernoulli()
#  )



#df_minimal <- df_double[, c("AorB", all.vars(as.formula(formula)))]

is_reactance <- my_brm(
  mi = use_mi, 
  imputed_data = implist,
  
  formula = formula, 
  prior = prior1,
  data = df_double, 
  family = brms::bernoulli(),
  #control = list(adapt_delta = 0.95, max_treedepth = 15),
  iter = iterations,
  warmup = warmup,
  chains = 4,
  cores = 4,
  seed = 7777,
  file = file.path("models_cache_brms", paste0("is_reactance_othercov_", suffix))
  #, file_refit = 'always'
)
## Warning: Rows containing NAs were excluded from the model.
is_reactance_digest <- digest::digest(is_reactance)
summarize_brms(
  is_reactance,
  stats_to_report = c('CI', 'SE', 'pd', 'ROPE', 'Rhat', 'ESS'),
  model_rows_fixed = model_rows_fixed,
  model_rows_random = model_rows_random,
  model_rownames_fixed = model_rownames_fixed,
  model_rownames_random = model_rownames_random,
  exponentiate = T) %>%
  print_df(rows_to_pack = rows_to_pack)
OR SE 95% CI pd ROPE inside ROPE Rhat Bulk_ESS Tail_ESS
Intercept 0.52 0.24 [0.21, 1.26] 0.927 [0.83, 1.20] 0.113 1.002 1817 2714
Within-Person Effects
Daily persuasion experienced 0.84 0.08 [0.68, 1.02] 0.958 [0.83, 1.20] 0.549 1.002 2234 1683
Daily persuasion utilized (partner’s view) 1.13 0.17 [0.85, 1.58] 0.802 [0.83, 1.20] 0.629 1.002 1623 1590
Daily pressure experienced 1.98* 0.65 [1.02, 4.53] 0.977 [0.83, 1.20] 0.051 1.003 1431 1607
Daily pressure utilized (partner’s view) 1.44 0.60 [0.59, 4.00] 0.820 [0.83, 1.20] 0.220 1.005 1403 1681
Daily pushing experienced 1.35* 0.17 [1.05, 1.79] 0.992 [0.83, 1.20] 0.169 1.001 2163 2201
Daily pushing utilized (partner’s view) 0.91 0.18 [0.62, 1.36] 0.689 [0.83, 1.20] 0.594 1.003 2469 2357
Day 2.08 1.12 [0.74, 5.76] 0.916 [0.83, 1.20] 0.113 1.000 2195 3028
Daily weartime NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Is a Weekend 0.63 0.17 [0.37, 1.05] 0.961 [0.83, 1.20] 0.128 1.002 3717 2939
JITAI received 1.41 0.45 [0.76, 2.62] 0.860 [0.83, 1.20] 0.248 1.000 3181 2908
Days post skilled support intervention 0.71 0.27 [0.34, 1.49] 0.811 [0.83, 1.20] 0.250 1.000 2329 2792
Between-Person Effects
Mean persuasion experienced 1.72 1.03 [0.56, 5.73] 0.819 [0.83, 1.20] 0.167 1.004 1170 1739
Mean persuasion utilized (partner’s view) 1.78 1.16 [0.52, 6.52] 0.810 [0.83, 1.20] 0.147 1.005 1294 1985
Mean pressure experienced 18.74** 20.05 [2.56, 164.42] 0.999 [0.83, 1.20] 0.002 1.000 1729 2326
Mean pressure utilized (partner’s view) 2.72 3.01 [0.28, 23.38] 0.823 [0.83, 1.20] 0.080 1.002 1477 2000
Mean pushing experienced 1.04 1.00 [0.14, 6.74] 0.513 [0.83, 1.20] 0.152 1.001 1409 1923
Mean pushing utilized (partner’s view) 0.07** 0.07 [0.01, 0.57] 0.995 [0.83, 1.20] 0.006 1.002 1963 2689
Mean weartime NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA
Difference study group 2 1.20 0.60 [0.44, 3.26] 0.641 [0.83, 1.20] 0.260 1.002 1353 2076
Difference study group 3 0.37 0.20 [0.13, 1.11] 0.961 [0.83, 1.20] 0.064 1.002 1391 1963
Random Effects
sd(Intercept) 1.07 0.26 [0.64, 1.68] NA NA NA 1.001 1124 1753
sd(Daily persuasion experienced) 0.22 0.14 [0.01, 0.53] NA NA NA 1.008 537 977
sd(Daily persuasion utilized (partner’s view)) 0.49 0.19 [0.11, 0.97] NA NA NA 1.004 939 646
sd(Daily pressure experienced) 1.10 0.56 [0.12, 2.52] NA NA NA 1.004 696 609
sd(Daily pressure utilized (partner’s view)) 0.77 0.63 [0.04, 2.69] NA NA NA 1.008 793 1469
sd(Daily pushing experienced) 0.24 0.16 [0.01, 0.60] NA NA NA 1.002 984 1075
sd(Daily pushing utilized (partner’s view)) 0.23 0.21 [0.01, 0.89] NA NA NA 1.004 1206 1371
Additional Parameters
sigma NA NA NA NA NA NA NA NA NA
plot(
  bayestestR::p_direction(is_reactance),
  priors = TRUE
) + 
  coord_cartesian(xlim = c(-6, 6)) +
  theme_bw()
## Warning in `==.default`(dens$Parameter, parameter): longer object length is not
## a multiple of shorter object length
## Warning in is.na(e1) | is.na(e2): longer object length is not a multiple of
## shorter object length

plot(
  bayestestR::rope(is_reactance, ci = 1)
) + theme_bw()

conditional_spaghetti(
  is_reactance, 
  effects = c('pressure_self_cw', 'pushing_self_cw'),
  group_var = 'coupleID',
  plot_full_range = TRUE
)

\(pressure_self_cw <img src="04_SensitivityOtherCovariates_files/figure-html/report_is_reactance-3.png" width="2400" />\)pushing_self_cw

Report All Models

process_model_component <- function(obj) {
  # Convert to string, modify, and evaluate
  name <- deparse(substitute(obj))
  if (report_hurdle) name <- paste0(name, '_hu')
  if (report_ordinal) name <- paste0(name, '_ordinal')
  return(get(name, envir = parent.frame()))
}



all_models <- report_side_by_side(
  pa_sub,
  pa_obj_log,
  mood_gauss,
  reactance_ordinal,
  is_reactance,
  
  stats_to_report = c('CI', 'pd'),
  
  model_rows_random = process_model_component(model_rows_random),
  model_rows_fixed = process_model_component(model_rows_fixed),
  model_rownames_random = process_model_component(model_rownames_random),
  model_rownames_fixed = process_model_component(model_rownames_fixed)
) 

[1] “pa_sub”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “pa_obj_log”

## Warning in summarize_brms(model, exponentiate = exponentiate, stats_to_report =
## stats_to_report, : Coefficients were exponentiated. Double check if this was
## intended.

[1] “mood_gauss” [1] “reactance_ordinal” [1] “is_reactance”

# pretty printing

summary_all_models <- all_models %>%
  print_df(rows_to_pack = process_model_component(rows_to_pack)) %>%
  add_header_above(
    c(" ", "Subjective MVPA Hurdle Lognormal" = (length(all_models) / 5),  
      "Device-Based MVPA Log (Gaussian)" = (length(all_models) / 5), 
      "Mood Gaussian" = (length(all_models) / 5),
      "Reactance Ordinal" = (length(all_models) / 5),
      "Reactance Dichotome" = (length(all_models) / 5))
  )


export_xlsx(
  summary_all_models, 
  rows_to_pack = process_model_component(rows_to_pack),
  file.path("Output", "AllModels_otherCovariates.xlsx"), 
  merge_option = 'header', 
  simplify_2nd_row = TRUE,
  line_above_rows = c(1,2),
  line_below_rows = c(-1)
)
## 
## Attaching package: 'rvest'
## The following object is masked from 'package:readr':
## 
##     guess_encoding
print(summary_all_models)
Subjective MVPA Hurdle Lognormal
Device-Based MVPA Log (Gaussian)
Mood Gaussian
Reactance Ordinal
Reactance Dichotome
exp(Est.) pa_sub 95% CI pa_sub pd pa_sub exp(Est.) pa_obj_log 95% CI pa_obj_log pd pa_obj_log Est. mood_gauss 95% CI mood_gauss pd mood_gauss OR reactance_ordinal 95% CI reactance_ordinal pd reactance_ordinal OR is_reactance 95% CI is_reactance pd is_reactance
Intercept 32.48*** [26.30, 39.85] 1.000 111.51*** [93.04, 133.26] 1.000 3.56*** [ 3.24, 3.88] 1.000 NA NA NA 0.52 [0.21, 1.26] 0.927
Hurdle Intercept 0.24*** [ 0.15, 0.40] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Conditional Within-Person Effects
Daily persuasion experienced 1.03 [ 0.97, 1.08] 0.840 1.03 [ 1.00, 1.06] 0.959 0.00 [-0.04, 0.04] 0.508 0.85* [ 0.72, 1.00] 0.976 0.84 [0.68, 1.02] 0.958
Daily persuasion utilized (partner’s view) 1.03 [ 0.98, 1.08] 0.892 1.02 [ 0.98, 1.05] 0.841 0.02 [-0.03, 0.06] 0.764 1.02 [ 0.83, 1.23] 0.584 1.13 [0.85, 1.58] 0.802
Daily pressure experienced 0.91 [ 0.82, 1.00] 0.974 0.95 [ 0.89, 1.02] 0.927 -0.03 [-0.15, 0.07] 0.712 1.83* [ 1.18, 2.63] 0.994 1.98* [1.02, 4.53] 0.977
Daily pressure utilized (partner’s view) 0.94 [ 0.85, 1.03] 0.910 0.98 [ 0.92, 1.05] 0.733 -0.02 [-0.14, 0.09] 0.667 1.27 [ 0.70, 2.08] 0.823 1.44 [0.59, 4.00] 0.820
Daily pushing experienced 0.99 [ 0.92, 1.05] 0.663 1.02 [ 0.97, 1.07] 0.727 0.00 [-0.06, 0.07] 0.558 1.25 [ 1.00, 1.56] 0.975 1.35* [1.05, 1.79] 0.992
Daily pushing utilized (partner’s view) 0.97 [ 0.91, 1.03] 0.858 1.01 [ 0.97, 1.05] 0.591 0.07 [ 0.00, 0.13] 0.971 0.94 [ 0.73, 1.21] 0.699 0.91 [0.62, 1.36] 0.689
Day 0.95 [ 0.80, 1.12] 0.747 0.94 [ 0.85, 1.03] 0.902 0.24** [ 0.10, 0.39] 0.999 1.66 [ 0.68, 4.13] 0.870 2.08 [0.74, 5.76] 0.916
Daily weartime NA NA NA 1.00*** [ 1.00, 1.00] 1.000 NA NA NA NA NA NA NA NA NA
Daily support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Is a Weekend 1.19*** [ 1.11, 1.28] 1.000 1.06** [ 1.02, 1.11] 0.997 0.15*** [ 0.08, 0.22] 1.000 0.64* [ 0.43, 0.95] 0.989 0.63 [0.37, 1.05] 0.961
JITAI received 0.94 [ 0.85, 1.04] 0.889 0.93* [ 0.88, 0.99] 0.989 -0.10* [-0.19, -0.01] 0.983 1.29 [ 0.76, 2.18] 0.837 1.41 [0.76, 2.62] 0.860
Days post skilled support intervention 1.07 [ 0.94, 1.20] 0.856 1.05 [ 0.98, 1.13] 0.914 0.04 [-0.07, 0.15] 0.750 0.81 [ 0.41, 1.60] 0.741 0.71 [0.34, 1.49] 0.811
Conditional Between-Person Effects
Mean persuasion experienced 1.06 [ 0.77, 1.44] 0.655 1.09 [ 0.80, 1.45] 0.724 0.37 [-0.15, 0.88] 0.922 0.96 [ 0.37, 2.56] 0.536 1.72 [0.56, 5.73] 0.819
Mean persuasion utilized (partner’s view) 1.01 [ 0.74, 1.36] 0.529 0.96 [ 0.71, 1.28] 0.607 0.24 [-0.26, 0.77] 0.837 1.28 [ 0.46, 3.79] 0.674 1.78 [0.52, 6.52] 0.810
Mean pressure experienced 1.17 [ 0.82, 1.64] 0.801 1.00 [ 0.75, 1.36] 0.514 -0.26 [-0.75, 0.26] 0.846 3.56* [ 1.29, 10.00] 0.993 18.74** [2.56, 164.42] 0.999
Mean pressure utilized (partner’s view) 0.93 [ 0.65, 1.32] 0.656 1.00 [ 0.75, 1.32] 0.507 -0.26 [-0.76, 0.25] 0.839 1.24 [ 0.42, 3.59] 0.662 2.72 [0.28, 23.38] 0.823
Mean pushing experienced 1.13 [ 0.72, 1.78] 0.711 0.96 [ 0.64, 1.48] 0.578 0.12 [-0.68, 0.89] 0.624 1.56 [ 0.39, 6.49] 0.739 1.04 [0.14, 6.74] 0.513
Mean pushing utilized (partner’s view) 1.21 [ 0.75, 1.94] 0.790 1.24 [ 0.81, 1.92] 0.850 0.27 [-0.51, 1.03] 0.769 0.10** [ 0.02, 0.53] 0.998 0.07** [0.01, 0.57] 0.995
Mean weartime NA NA NA 1.00 [ 1.00, 1.00] 0.945 NA NA NA NA NA NA NA NA NA
Mean support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Difference study group 2 1.08 [ 0.83, 1.42] 0.720 0.92 [ 0.71, 1.19] 0.756 -0.22 [-0.67, 0.26] 0.835 1.14 [ 0.51, 2.47] 0.636 1.20 [0.44, 3.26] 0.641
Difference study group 3 1.23 [ 0.95, 1.59] 0.951 1.02 [ 0.79, 1.33] 0.571 0.36 [-0.12, 0.82] 0.938 0.38* [ 0.16, 0.88] 0.988 0.37 [0.13, 1.11] 0.961
Hurdle Within-Person Effects
Hu Daily persuasion experienced 1.59*** [ 1.40, 1.84] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily persuasion utilized (partner’s view) 1.34*** [ 1.18, 1.53] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure experienced 0.97 [ 0.70, 1.33] 0.578 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pressure utilized (partner’s view) 1.50* [ 1.04, 2.27] 0.987 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing experienced 0.95 [ 0.72, 1.30] 0.645 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily pushing utilized (partner’s view) 1.33** [ 1.09, 1.69] 0.998 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Day 0.75 [ 0.51, 1.12] 0.923 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Daily support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Is a Weekend 1.52*** [ 1.26, 1.85] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu JITAI received 0.50*** [ 0.39, 0.64] 1.000 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Days post skilled support intervention 1.27 [ 0.94, 1.70] 0.945 NA NA NA NA NA NA NA NA NA NA NA NA
Hurdle Between-Person Effects
Hu Mean persuasion experienced 1.42 [ 0.68, 2.85] 0.836 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean persuasion utilized (partner’s view) 1.33 [ 0.64, 2.63] 0.781 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure experienced 0.39* [ 0.17, 0.88] 0.987 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pressure utilized (partner’s view) 0.52 [ 0.23, 1.15] 0.943 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing experienced 1.21 [ 0.41, 3.50] 0.632 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean pushing utilized (partner’s view) 2.11 [ 0.70, 6.27] 0.911 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean weartime NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support received NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Mean support provided (partner’s view) NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 2 0.76 [ 0.42, 1.43] 0.809 NA NA NA NA NA NA NA NA NA NA NA NA
Hu Difference study group 3 1.02 [ 0.57, 1.98] 0.533 NA NA NA NA NA NA NA NA NA NA NA NA
Random Effects
sd(Intercept) 0.30 [0.22, 0.40] NA 0.30 [0.24, 0.40] NA 0.56 [0.44, 0.75] NA 0.65 [0.21, 1.14] NA 1.07 [0.64, 1.68] NA
sd(Hurdle Intercept) 0.76 [0.58, 1.02] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Daily persuasion experienced) 0.12 [0.08, 0.17] NA 0.05 [0.02, 0.08] NA 0.04 [0.00, 0.10] NA 0.17 [0.01, 0.44] NA 0.22 [0.01, 0.53] NA
sd(Daily persuasion utilized (partner’s view)) 0.08 [0.05, 0.13] NA 0.05 [0.03, 0.09] NA 0.07 [0.01, 0.13] NA 0.21 [0.01, 0.52] NA 0.49 [0.11, 0.97] NA
sd(Daily pressure experienced) 0.06 [0.00, 0.21] NA 0.04 [0.00, 0.14] NA 0.07 [0.00, 0.24] NA 0.56 [0.10, 1.16] NA 1.10 [0.12, 2.52] NA
sd(Daily pressure utilized (partner’s view)) 0.05 [0.00, 0.17] NA 0.03 [0.00, 0.11] NA 0.08 [0.00, 0.27] NA 0.40 [0.02, 1.47] NA 0.77 [0.04, 2.69] NA
sd(Daily pushing experienced) 0.08 [0.01, 0.16] NA 0.08 [0.01, 0.15] NA 0.04 [0.00, 0.13] NA 0.22 [0.01, 0.53] NA 0.24 [0.01, 0.60] NA
sd(Daily pushing utilized (partner’s view)) 0.06 [0.00, 0.14] NA 0.03 [0.00, 0.08] NA 0.06 [0.00, 0.16] NA 0.15 [0.01, 0.60] NA 0.23 [0.01, 0.89] NA
sd(Hu Daily persuasion experienced) 0.20 [0.03, 0.39] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily persuasion utilized (partner’s view)) 0.19 [0.03, 0.38] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure experienced) 0.19 [0.01, 0.72] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pressure utilized (partner’s view)) 0.24 [0.01, 0.90] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing experienced) 0.57 [0.31, 0.96] NA NA NA NA NA NA NA NA NA NA NA NA NA
sd(Hu Daily pushing utilized (partner’s view)) 0.24 [0.01, 0.56] NA NA NA NA NA NA NA NA NA NA NA NA NA
Additional Parameters
sigma 0.67 [0.65, 0.70] NA 0.57 [0.56, 0.59] NA 0.96 [0.94, 0.98] NA NA NA NA NA NA NA
report::report_system()

Analyses were conducted using the R Statistical language (version 4.4.1; R Core Team, 2024) on Windows 11 x64 (build 22635)

report::report_packages()
  • beepr (version 2.0; Bååth R, 2024)
  • R.methodsS3 (version 1.8.2; Bengtsson H, 2003)
  • R.oo (version 1.27.0; Bengtsson H, 2003)
  • R.utils (version 2.12.3; Bengtsson H, 2023)
  • brms (version 2.22.0; Bürkner P, 2017)
  • digest (version 0.6.37; Eddelbuettel D, 2024)
  • Rcpp (version 1.0.13.1; Eddelbuettel D et al., 2024)
  • bayesplot (version 1.11.1; Gabry J, Mahr T, 2024)
  • lubridate (version 1.9.3; Grolemund G, Wickham H, 2011)
  • DHARMa (version 0.4.7; Hartig F, 2024)
  • wbCorr (version 0.1.22; Küng P, 2023)
  • see (version 0.9.0; Lüdecke D et al., 2021)
  • tibble (version 3.2.1; Müller K, Wickham H, 2023)
  • R (version 4.4.1; R Core Team, 2024)
  • openxlsx (version 4.2.7.1; Schauberger P, Walker A, 2024)
  • ggplot2 (version 3.5.1; Wickham H, 2016)
  • forcats (version 1.0.0; Wickham H, 2023)
  • stringr (version 1.5.1; Wickham H, 2023)
  • rvest (version 1.0.4; Wickham H, 2024)
  • tidyverse (version 2.0.0; Wickham H et al., 2019)
  • readxl (version 1.4.3; Wickham H, Bryan J, 2023)
  • dplyr (version 1.1.4; Wickham H et al., 2023)
  • purrr (version 1.0.2; Wickham H, Henry L, 2023)
  • readr (version 2.1.5; Wickham H et al., 2024)
  • xml2 (version 1.3.6; Wickham H et al., 2023)
  • tidyr (version 1.3.1; Wickham H et al., 2024)
  • knitr (version 1.49; Xie Y, 2024)
  • kableExtra (version 1.4.0; Zhu H, 2024)
report::cite_packages()